package com.lonelyzhe.springboot.mapper;

import com.lonelyzhe.springboot.bean.OrderInfo;
import com.lonelyzhe.springboot.bean.OrderItem;
import com.lonelyzhe.springboot.bean.vo.OrderInfoWithItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CartMapper {

    // 当无订单状态为0时，创建一个订单当做购物车
    void createCart(OrderInfo orderInfo);
    // 查找某个用户的购物车
    OrderInfo selectCart(@Param("id")int id);
    // 在购物车中插入新的项目
    void insertItem(OrderItem orderItem);
    // 查找在购物车中是否有相同的书在里面
    OrderItem selectItemOfOrder(@Param("order_id")int order_id, @Param("book_id")int book_id);
    // 若购物车中有相同的数目，则增加数目
    void updateItem(@Param("item_id")int item_id,@Param("num")int num);

    // 获取购物车物品详情
    List<OrderItem> selectCartItems(@Param("order_id")int order_id);
    // 在购物车中的商品加1或减1
    void changeItemNum(@Param("item_id")int item_id, @Param("num")int num);
    // 提交订单
    void submitOrder(@Param("order_id")int order_id);

    void deleteItem(@Param("item_id")int item_id);

}
